package com.car.alliance.ui.mine

import android.content.Intent
import android.content.pm.ActivityInfo
import android.os.Bundle
import android.view.View
import com.car.alliance.R
import com.car.alliance.base.BaseFragment
import com.car.alliance.utils.GlideEngine
import com.car.alliance.utils.StatusBarUtil
import com.car.alliance.view.Bottomfragment
import com.luck.picture.lib.PictureSelector
import com.luck.picture.lib.config.PictureConfig
import com.luck.picture.lib.config.PictureMimeType
import com.luck.picture.lib.entity.LocalMedia
import com.luck.picture.lib.listener.OnResultCallbackListener
import com.luck.picture.lib.tools.SdkVersionUtils
import kotlinx.android.synthetic.main.fragment_mine.*


/**
 * Created by xuhao on 2017/11/9.
 * 我的
 */
class MineFragment : BaseFragment(),View.OnClickListener {


    private var mTitle:String? =null
    private val REQUEST_SELECT_IMAGES_CODE = 0x01

    companion object {
        fun getInstance(title:String): MineFragment {
            val fragment = MineFragment()
            val bundle = Bundle()
            fragment.arguments = bundle
            fragment.mTitle = title
            return fragment
        }
    }


    override fun getLayoutId(): Int= R.layout.fragment_mine

    override fun initView() {
        //状态栏透明和间距处理
        activity?.let { StatusBarUtil.darkMode(it) }
        activity?.let { StatusBarUtil.setPaddingSmart(it, toolbar) }

        tv_view_homepage.setOnClickListener(this)
        iv_avatar.setOnClickListener(this)
        iv_about.setOnClickListener(this)

        tv_collection.setOnClickListener(this)
        tv_comment.setOnClickListener(this)

        tv_mine_message.setOnClickListener(this)
        tv_mine_attention.setOnClickListener(this)
        tv_mine_cache.setOnClickListener(this)
        tv_watch_history.setOnClickListener(this)
        tv_feedback.setOnClickListener(this)
        tv_img.setOnClickListener(this)

    }

    override fun lazyLoad() {

    }



    override fun onClick(v: View?) {
        when{
            v?.id==R.id.tv_feedback -> {
                val sheet = Bottomfragment()
                fragmentManager?.let { sheet.show(it, "DemoBottomSheetFragment") }
            }

            v?.id==R.id.tv_mine_message ->startActivity(Intent(activity, LoginActivity::class.java))
//                val intent = Intent(activity, LoginActivity::class.java)
//                startActivity(intent)
//                showToast("我的消息")
//            }
            v?.id==R.id.tv_img ->{
                setOnImag()
            }

        }
    }

    fun  setOnImag(){
        PictureSelector.create(this)
                .openGallery(PictureMimeType.ofImage())
                .loadImageEngine(GlideEngine.createGlideEngine()) // Please refer to the Demo GlideEngine.java
                .forResult(PictureConfig.CHOOSE_REQUEST);
    }

    fun getVideoPath(){//选择视频
        // https://github.com/LuckSiege/PictureSelector 地址
        PictureSelector.create(this)
                .openGallery(PictureMimeType.ofVideo()) // 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
                .imageEngine(GlideEngine.createGlideEngine()) // 外部传入图片加载引擎，必传项

                .isWeChatStyle(true) // 是否开启微信图片选择风格
                .isUseCustomCamera(false) // 是否使用自定义相机
                .isMaxSelectEnabledMask(true) // 选择数到了最大阀值列表是否启用蒙层效果
                .maxSelectNum(1) // 最大图片选择数量
                .minSelectNum(1) // 最小选择数量
                .maxVideoSelectNum(1) // 视频最大选择数量
                .imageSpanCount(4) // 每行显示个数
                .isReturnEmpty(false) // 未选择数据时点击按钮是否可以返回
                .closeAndroidQChangeWH(true) //如果图片有旋转角度则对换宽高,默认为true
                .closeAndroidQChangeVideoWH(!SdkVersionUtils.checkedAndroid_Q()) // 如果视频有旋转角度则对换宽高,默认为false
                .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) // 设置相册Activity方向，不设置默认使用系统
                .selectionMode(PictureConfig.SINGLE) // 多选 or 单选
                .isSingleDirectReturn(false) // 单选模式下是否直接返回，PictureConfig.SINGLE模式下有效
                .isPreviewVideo(true) // 是否可预览视频
                .isCamera(true) // 是否显示拍照按钮
                .isZoomAnim(true) // 图片列表点击 缩放效果 默认true
                .isCompress(true) // 是否压缩
                .synOrAsy(false) //同步true或异步false 压缩 默认同步
                .freeStyleCropEnabled(true) // 裁剪框是否可拖拽
                .isOpenClickSound(false) // 是否开启点击声音
                .videoMaxSecond(31)// 查询多少秒以内的视频
                .recordVideoSecond(30)//录制视频秒数 默认60s
                .cutOutQuality(90) // 裁剪输出质量 默认100
                .queryMaxFileSize(20f)
                .minimumCompressSize(100) // 小于多少kb的图片不压缩
                .forResult(PictureConfig.CHOOSE_REQUEST);//结果回调onActivityResult code
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        try {
            if (resultCode == PictureConfig.CHOOSE_REQUEST) {
                // 图片选择结果回调
                val selectList = PictureSelector.obtainMultipleResult(data) as MutableList<LocalMedia>

            }
        }catch (e:Exception){
            e.printStackTrace()
        }
    }

}
